home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 1: Comms & Networking
/
Almathera Ten on Ten - Disc 1: Comms & Networking.iso
/
generalinfo
/
internetstandards
/
rfc
/
1000-1299
/
rfc1245.ps
< prev
next >
Wrap
Text File
|
1991-08-07
|
62KB
|
947 lines
%!
%%BoundingBox: (atend)
%%Pages: (atend)
%%DocumentFonts: (atend)
%%EndComments
%
% FrameMaker PostScript Prolog 2.0, for use with FrameMaker 2.0
% Copyright (c) 1986,87,89 by Frame Technology, Inc. All rights reserved.
%
% Known Problems:
% Due to bugs in Transcript, the 'PS-Adobe-' is omitted from line 1
/FMversion (2.0) def
% Set up Color vs. Black-and-White
/FMPrintInColor systemdict /colorimage known def
% Uncomment this line to force b&w on color printer
% /FMPrintInColor false def
/FrameDict 190 dict def
systemdict /errordict known not {/errordict 10 dict def
errordict /rangecheck {stop} put} if
% The readline in 23.0 doesn't recognize cr's as nl's on AppleTalk
FrameDict /tmprangecheck errordict /rangecheck get put
errordict /rangecheck {FrameDict /bug true put} put
FrameDict /bug false put
mark
% Some PS machines read past the CR, so keep the following 3 lines together!
currentfile 5 string readline
00
0000000000
cleartomark
errordict /rangecheck FrameDict /tmprangecheck get put
FrameDict /bug get {
/readline {
/gstring exch def
/gfile exch def
/gindex 0 def
{
gfile read pop
dup 10 eq {exit} if
dup 13 eq {exit} if
gstring exch gindex exch put
/gindex gindex 1 add def
} loop
pop
gstring 0 gindex getinterval true
} def
} if
/FMVERSION {
FMversion ne {
/Times-Roman findfont 18 scalefont setfont
100 100 moveto
(FrameMaker version does not match postscript_prolog!)
dup =
show showpage
} if
} def
/FMLOCAL {
FrameDict begin
0 def
end
} def
/gstring FMLOCAL
/gfile FMLOCAL
/gindex FMLOCAL
/orgxfer FMLOCAL
/orgproc FMLOCAL
/organgle FMLOCAL
/orgfreq FMLOCAL
/yscale FMLOCAL
/xscale FMLOCAL
/manualfeed FMLOCAL
/paperheight FMLOCAL
/paperwidth FMLOCAL
/FMDOCUMENT {
array /FMfonts exch def
/#copies exch def
FrameDict begin
0 ne dup {setmanualfeed} if
/manualfeed exch def
/paperheight exch def
/paperwidth exch def
setpapername
manualfeed {true} {papersize} ifelse
{manualpapersize} {false} ifelse
{desperatepapersize} if
/yscale exch def
/xscale exch def
currenttransfer cvlit /orgxfer exch def
currentscreen cvlit /orgproc exch def
/organgle exch def /orgfreq exch def
end
} def
/pagesave FMLOCAL
/orgmatrix FMLOCAL
/landscape FMLOCAL
/FMBEGINPAGE {
FrameDict begin
/pagesave save def
3.86 setmiterlimit
/landscape exch 0 ne def
landscape {
90 rotate 0 exch neg translate pop
}
{pop pop}
ifelse
xscale yscale scale
/orgmatrix matrix def
gsave
} def
/FMENDPAGE {
grestore
pagesave restore
end
showpage
} def
/FMDEFINEFONT {
FrameDict begin
findfont
ReEncode
2 index exch
definefont exch
scalefont
FMfonts 3 1 roll
put
end
} bind def
/FMNORMALIZEGRAPHICS {
newpath
0.0 0.0 moveto
1 setlinewidth
0 setlinecap
0 0 0 sethsbcolor
0 setgray
} bind def
/fx FMLOCAL
/fy FMLOCAL
/fh FMLOCAL
/fw FMLOCAL
/llx FMLOCAL
/lly FMLOCAL
/urx FMLOCAL
/ury FMLOCAL
/FMBEGINEPSF {
end
/FMEPSF save def
/showpage {} def
FMNORMALIZEGRAPHICS
[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall
fx fy translate
rotate
fw urx llx sub div fh ury lly sub div scale
llx neg lly neg translate
} bind def
/FMENDEPSF {
FMEPSF restore
FrameDict begin
} bind def
FrameDict begin
/setmanualfeed {
%%BeginFeature *ManualFeed True
statusdict /manualfeed true put
%%EndFeature
} def
/max {2 copy lt {exch} if pop} bind def
/min {2 copy gt {exch} if pop} bind def
/inch {72 mul} def
/pagedimen {
paperheight sub abs 16 lt exch
paperwidth sub abs 16 lt and
{/papername exch def} {pop} ifelse
} def
/papersizedict FMLOCAL
/setpapername {
/papersizedict 14 dict def
papersizedict begin
/papername /unknown def
/Letter 8.5 inch 11.0 inch pagedimen
/LetterSmall 7.68 inch 10.16 inch pagedimen
/Tabloid 11.0 inch 17.0 inch pagedimen
/Ledger 17.0 inch 11.0 inch pagedimen
/Legal 8.5 inch 14.0 inch pagedimen
/Statement 5.5 inch 8.5 inch pagedimen
/Executive 7.5 inch 10.0 inch pagedimen
/A3 11.69 inch 16.5 inch pagedimen
/A4 8.26 inch 11.69 inch pagedimen
/A4Small 7.47 inch 10.85 inch pagedimen
/B4 10.125 inch 14.33 inch pagedimen
/B5 7.16 inch 10.125 inch pagedimen
end
} def
/papersize {
papersizedict begin
/Letter {lettertray} def
/LetterSmall {lettertray lettersmall} def
/Tabloid {11x17tray} def
/Ledger {ledgertray} def
/Legal {legaltray} def
/Statement {statementtray} def
/Executive {executivetray} def
/A3 {a3tray} def
/A4 {a4tray} def
/A4Small {a4tray a4small} def
/B4 {b4tray} def
/B5 {b5tray} def
/unknown {unknown} def
papersizedict dup papername known {papername} {/unknown} ifelse get
end
/FMdicttop countdictstack 1 add def
statusdict begin stopped end
countdictstack -1 FMdicttop {pop end} for
} def
/manualpapersize {
papersizedict begin
/Letter {letter} def
/LetterSmall {lettersmall} def
/Tabloid {11x17} def
/Ledger {ledger} def
/Legal {legal} def
/Statement {statement} def
/Executive {executive} def
/A3 {a3} def
/A4 {a4} def
/A4Small {a4small} def
/B4 {b4} def
/B5 {b5} def
/unknown {unknown} def
papersizedict dup papername known {papername} {/unknown} ifelse get
end
stopped
} def
/desperatepapersize {
statusdict /setpageparams known
{
paperwidth paperheight 0 1
statusdict begin
{setpageparams} stopped pop
end
} if
} def
/savematrix {
orgmatrix currentmatrix pop
} bind def
/restorematrix {
orgmatrix setmatrix
} bind def
/dmatrix matrix def
/dpi 72 0 dmatrix defaultmatrix dtransform
dup mul exch dup mul add sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
/ReEncode {
dup
length
dict begin
{
1 index /FID ne
{def}
{pop pop} ifelse
} forall
Encoding StandardEncoding eq
{
/Encoding DiacriticEncoding def
}if
currentdict
end
} bind def
/graymode true def
/bwidth FMLOCAL
/bpside FMLOCAL
/bstring FMLOCAL
/onbits FMLOCAL
/offbits FMLOCAL
/xindex FMLOCAL
/yindex FMLOCAL
/x FMLOCAL
/y FMLOCAL
/setpatt676 P
0 F
-0.08 (T) 183.69 676 P
-0.08 (o support routers having insuf) 190.18 676 P
-0.08 (\336cient memory) 333.53 676 P
-0.08 (, areas can be con\336gured as ) 405.63 676 P
(stubs. External LSAs \050often making up the bulk of the Autonomous System\051 are not \337ooded ) 85.54 662 T
(into/throughout stub areas. Routing to external destinations in stub areas is based solely on ) 85.54 648 T
(default.) 85.54 634 T
FMENDPAGE
%%EndPage: "6" 7
%%Page: "7" 7
612 792 0 FMBEGINPAGE
72 702 540 720 R
7 X
0 K
V
0 F
0 X
(RFC 1245) 72 712 T
(OSPF protocol analysis) 249.36 712 T
(July 1991) 493.02 712 T
72 69.05 540 81 R
7 X
V
0 X
([Moy]) 72 73 T
([Page 7]) 499.7 73 T
72 108 540 684 R
7 X
V
2 F
0 X
(3.0 Cost of the pr) 72 673.33 T
(otocol) 193.4 673.33 T
0 F
-0.1 (This section attempts to analyze how the OSPF protocol will perform and scale in the Internet. In ) 72 646 P
(this analysis, we will concentrate on the following four areas:) 72 632 T
(\245) 72 612 T
4 F
(Link bandwidth) 85.54 612 T
0 F
(. In OSPF) 168.53 612 T
(, a reliable \337ooding mechanism is used to ensure that router link ) 215.22 612 T
(state databases are remained synchronized. Individual components of the link state databases ) 85.54 598 T
-0.17 (\050the LSAs\051 are refreshed infrequently \050every 30 minutes\051, at least in the absence of topological ) 85.54 584 P
(changes. Still, as the size of the database increases, the amount of link bandwidth used by the ) 85.54 570 T
(\337ooding procedure also increases.) 85.54 556 T
(\245) 72 536 T
4 F
-0.03 (Router memory) 85.54 536 P
0 F
-0.03 (. The size of an OSPF link state database can get quite lar) 166.32 536 P
-0.03 (ge, especially in the ) 441.86 536 P
(presence of many external LSAs. This imposes requirements on the amount of router memory ) 85.54 522 T
(available.) 85.54 508 T
(\245) 72 488 T
4 F
(CPU usage) 85.54 488 T
0 F
(. In OSPF) 141.83 488 T
(, this is dominated by the length of time it takes to run the shortest path ) 188.52 488 T
(calculation \050Dijkstra procedure\051. This is a function of the number of routers in the OSPF sys-) 85.54 474 T
(tem.) 85.54 460 T
(\245) 72 440 T
4 F
(Role of the Designated Router) 85.54 440 T
(.) 238.32 440 T
0 F
( The Designated router receives and sends more packets on a ) 241.32 440 T
-0.46 (multi-access networks than the other routers connected to the network. Also, there is some time ) 85.54 426 P
(involved in cutting over to a new Designated Router after the old one fails \050especially when ) 85.54 412 T
(both the Backup Designated Router and the Designated Router fail at the same time\051. For this ) 85.54 398 T
-0.27 (reason, it is possible that you may want to limit the number of routers connected to a single net-) 85.54 384 P
(work.) 85.54 370 T
(The remaining section will analyze these areas, estimating how much resources the OSPF proto-) 72 344 T
-0.05 (col will consume, both now and in the future. T) 72 330 P
-0.05 (o aid in this analysis, the next section will present ) 298.93 330 P
(some data that have been collected in actual OSPF \336eld deployments.) 72 316 T
3 F
(3.1 Operational data) 72 282.67 T
0 F
-0.44 (The OSPF protocol has been deployed in a number of places in the Internet. For a summary of this ) 72 256 P
(deployment, see [1]. Some statistics have been gathered from this operational experience, via ) 72 242 T
-0.03 (local network management facilities. Some of these statistics are presented in the following table:) 72 228 P
FMENDPAGE
%%EndPage: "7" 8
5 10 /Times-Bold FMDEFINEFONT
%%Page: "8" 8
612 792 0 FMBEGINPAGE
72 702 540 720 R
7 X
0 K
V
0 F
0 X
(RFC 1245) 72 712 T
(OSPF protocol analysis) 249.36 712 T
(July 1991) 493.02 712 T
72 69.05 540 81 R
7 X
V
0 X
([Moy]) 72 73 T
([Page 8]) 499.7 73 T
72 108 540 684 R
7 X
V
72 666.01 540 674 C
72 671.98 540 671.98 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 72 677.33 T
(ABLE 1. Pertinent operational statistics) 77.93 677.33 T
(Statistic) 72 655.34 T
(BARRNet) 216 655.34 T
(NSI) 324 655.34 T
(OARnet) 432 655.34 T
1 F
(Data gathering \050duration\051) 72 638.34 T
(99 hours) 216 638.34 T
(277 hours) 324 638.34 T
(28 hours) 432 638.34 T
(Dijkstra frequency) 72 622.34 T
(50 minutes) 216 622.34 T
(25 minutes) 324 622.34 T
(13 minutes) 432 622.34 T
(External incremental frequency) 72 606.34 T
(1.2 minutes) 216 606.34 T
(.98 minutes) 324 606.34 T
(not gathered) 432 606.34 T
(Database turnover) 72 590.34 T
(29.7 minutes) 216 590.34 T
(30.9 minutes) 324 590.34 T
(28.2 minutes) 432 590.34 T
(LSAs per packet) 72 574.34 T
(3.38) 216 574.34 T
(3.16) 324 574.34 T
(2.99) 432 574.34 T
(Flooding retransmits) 72 558.34 T
(1.3%) 216 558.34 T
(1.4%) 324 558.34 T
(.7%) 432 558.34 T
0 F
(The \336rst line in the above table show the length of time that statistics were gathered on the three ) 72 533.01 T
(networks. A brief description of the other statistics follows:) 72 519.01 T
(\245) 72 499.01 T
4 F
(Dijkstra fr) 85.54 499.01 T
(equency) 140.27 499.01 T
(. ) 181.59 499.01 T
0 F
(In OSPF) 187.59 499.01 T
(, the Dijkstra calculation involves only those routers and transit ) 228.28 499.01 T
-0.14 (networks belonging to the AS. The Dijkstra is run only when something in the system changes ) 85.54 485.01 P
(\050like a serial line between two routers goes down\051. Note that in these operational systems, the ) 85.54 471.01 T
(Dijkstra process runs only infrequently \050the most frequent being every 13 minutes\051.) 85.54 457.01 T
(\245) 72 437.01 T
4 F
(External incr) 85.54 437.01 T
(emental fr) 153.61 437.01 T
(equency) 206.35 437.01 T
0 F
(. In OSPF) 247.54 437.01 T
(, when an external route changes only its entry in ) 294.23 437.01 T
-0.13 (the routing table is recalculated. These are called external incremental updates. Note that these ) 85.54 423.01 P
(happen much more frequently than the Dijkstra procedure. \050in other words, incremental ) 85.54 409.01 T
(updates are saving quite a bit of processor time\051.) 85.54 395.01 T
(\245) 72 375.01 T
4 F
-0.45 (Database turnover) 85.54 375.01 P
-0.45 (.) 179.58 375.01 P
0 F
-0.45 ( In OSPF) 182.58 375.01 P
-0.45 (, link state advertisements are refreshed at a minimum of every 30 ) 225.36 375.01 P
(minutes. New advertisement instances are sent out more frequently when some part of the ) 85.54 361.01 T
-0.2 (topology changes. The table shows that, even taking topological changes into account, on aver-) 85.54 347.01 P
(age an advertisement is updated close to only every 30 minutes. This statistic will be used in ) 85.54 333.01 T
(the link bandwidth calculations below) 85.54 319.01 T
(. Note that NSI actually shows advertisements updated ) 267.31 319.01 T
(every 30.7 \050> 30\051 minutes. This probably means that at one time earlier in the measurement ) 85.54 305.01 T
(period, NSI had a smaller link state database that it did at the end.) 85.54 291.01 T
(\245) 72 271.01 T
4 F
-0.39 (LSAs per packet.) 85.54 271.01 P
0 F
-0.39 ( In OSPF) 173.04 271.01 P
-0.39 (, multiple LSAs can be included in either Link State Update or Link ) 215.95 271.01 P
-0.35 (State Acknowledgment packets.The table shows that, on average, around 3 LSAs are carried in ) 85.54 257.01 P
(a single packet. This statistic is used when calculating the header overhead in the link band-) 85.54 243.01 T
(width calculation below) 85.54 229.01 T
(. This statistic was derived by diving the number of LSAs \337ooded by ) 200.01 229.01 T
(the number of \050non-hello\051 multicasts sent.) 85.54 215.01 T
(\245) 72 195.01 T
4 F
(Flooding r) 85.54 195.01 T
(etransmits.) 138.97 195.01 T
0 F
( This counts both retransmission of LS Update packets and Link State ) 195.92 195.01 T
(Acknowledgment packets, as a percentage of the original multicast \337ooded packets. The table ) 85.54 181.01 T
(shows that \337ooding is working well, and that retransmits can be ignored in the link bandwidth ) 85.54 167.01 T
(calculation below) 85.54 153.01 T
(.) 169.69 153.01 T
FMENDPAGE
%%EndPage: "8" 9
%%Page: "9" 9
612 792 0 FMBEGINPAGE
72 702 540 720 R
7 X
0 K
V
0 F
0 X
(RFC 1245) 72 712 T
(OSPF protocol analysis) 249.36 712 T
(July 1991) 493.02 712 T
72 69.05 540 81 R
7 X
V
0 X
([Moy]) 72 73 T
([Page 9]) 499.7 73 T
72 108 540 684 R
7 X
V
3 F
0 X
(3.2 Link bandwidth) 72 674.67 T
0 F
-0.02 (In this section we attempt to calculate how much link bandwidth is consumed by the OSPF \337ood-) 72 648 P
(ing process. The amount of link bandwidth consumed increases linearly with the number of ) 72 634 T
(advertisements present in the OSPF database.W) 72 620 T
(e assume that the majority of advertisements in ) 300.88 620 T
(the database will be AS external LSAs \050operationally this is true, see [1]\051.) 72 606 T
(From the statistics presented in Section 3.1, any particular advertisement is \337ooded \050on average\051 ) 72 580 T
(every 30 minutes. In addition, three advertisements \336t in a single packet. \050This packet could be ) 72 566 T
(either a Link State Update packet or a Link State Acknowledgment packet; in this analysis we ) 72 552 T
(select the Link State Update packet, which is the lar) 72 538 T
(ger\051. An AS external LSA is 36 bytes long. ) 320.93 538 T
(Adding one third of a packet header \050IP header plus OSPF Update packet\051 yields 52 bytes. T) 72 524 T
(rans-) 515.59 524 T
(mitting this amount of data every 30 minutes gives an average rate of 23/100 bits/second.) 72 510 T
-0.05 (If you want to limit your routing traf) 72 484 P
-0.05 (\336c to 5% of the link\325) 247.03 484 P
-0.05 (s total bandwidth, you get the following ) 345.75 484 P
(maximums for database size:) 72 470 T
72 434.01 540 442 C
72 439.98 540 439.98 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 72 445.33 T
(ABLE 2. Database size as a function of link speed \0505% utilization\051) 77.93 445.33 T
(Speed) 180 423.34 T
(# external advertisements) 288 423.34 T
1 F
(9.6 Kb) 180 406.34 T
(2087) 288 406.34 T
(56 Kb) 180 390.34 T
(12,174) 288 390.34 T
0 F
-0.46 (Higher line speeds have not been included, because other factors will then limit database size \050like ) 72 365.01 P
-0.12 (router memory\051 before line speed becomes a factor) 72 351.01 P
-0.12 (. Note that in the above calculation, the size of ) 315.32 351.01 P
-0.06 (the data link header was not taken into account. Also, note that while the OSPF database is likely ) 72 337.01 P
(to be mostly external LSAs, other LSAs have a size also. As a ballpark estimate, router links and ) 72 323.01 T
-0.01 (network links are generally three times as lar) 72 309.01 P
-0.01 (ge as an AS external link, with summary link adver-) 287.18 309.01 P
(tisements being the same size as external link LSAs.) 72 295.01 T
(OSPF consumes considerably less link bandwidth than RIP) 72 269.01 T
(. This has been shown experimentally ) 355.51 269.01 T
(in the NSI network. See Jef) 72 255.01 T
(frey Bur) 203.69 255.01 T
(gan\325) 243.77 255.01 T
(s \322NASA Sciences Internet\323 report in [3].) 264.42 255.01 T
3 F
(3.3 Router memory) 72 221.67 T
0 F
-0.1 (Memory requirements in OSPF are dominated by the size of the link state database. As in the pre-) 72 195.01 P
(vious section, it is probably safe to assume that most of the advertisements in the database are ) 72 181.01 T
(external LSAs. While an external LSA is 36 bytes long, it is generally stored by an OSPF imple-) 72 167.01 T
-0.34 (mentation together with some support data. So a good estimate of router memory consumed by an ) 72 153.01 P
(external LSA is probably 64 bytes. So a database having 10,000 external LSAs will consume ) 72 139.01 T
(640K bytes of router memory) 72 125.01 T
(. OSPF de\336nitely requires more memory than RIP) 213.79 125.01 T
(.) 452.98 125.01 T
FMENDPAGE
%%EndPage: "9" 10
%%Page: "10" 10
612 792 0 FMBEGINPAGE
72 702 540 720 R
7 X
0 K
V
0 F
0 X
(RFC 1245) 72 712 T
(OSPF protocol analysis) 249.36 712 T
(July 1991) 493.02 712 T
72 69.05 540 81 R
7 X
V
0 X
([Moy]) 72 73 T
([Page 10]) 493.7 73 T
72 108 540 684 R
7 X
V
0 X
-0.35 (Using the Proteon P4200 implementation as an example, the P4200 has 2Mbytes of memory) 72 676 P
-0.35 (. This ) 510.38 676 P
-0.02 (is shared between instruction, data and packet buf) 72 662 P
-0.02 (fer memory) 310.78 662 P
-0.02 (. The P4200 has enough memory to ) 366.26 662 P
(store 10, 000 external LSAs, and still have enough packet buf) 72 648 T
(fer memory available to run a rea-) 367.58 648 T
(sonable number of interfaces.) 72 634 T
(Also, note that while the OSPF database is likely to be mostly external LSAs, other LSAs have a ) 72 608 T
-0.06 (size also. As a ballpark estimate, router links and network links consume generally three times as ) 72 594 P
(much memory as an AS external link, with summary link advertisements being the same size as ) 72 580 T
(external link LSAs.) 72 566 T
3 F
(3.4 Router CPU) 72 532.67 T
0 F
(Assume that, as the size of the OSPF routing domain grows, the number of interfaces per router ) 72 506 T
(stays bounded. Then the Dijkstra calculation is of order \050n * log \050n\051\051, where n is the number of ) 72 492 T
(routers in the routing domain. \050This is the complexity of the Dijkstra algorithm in a sparse net-) 72 478 T
(work\051. Of course, it is implementation speci\336c as to how expensive the Dijkstra really is.) 72 464 T
(W) 72 438 T
(e have no experimental numbers for the cost of the Dijkstra calculation in a real OSPF imple-) 82.36 438 T
(mentation. However) 72 424 T
(, Steve Deering presented results for the Dijkstra calculation in the \322MOSPF ) 169.45 424 T
(meeting report\323 in [3]. Steve\325) 72 410 T
(s calculation was done on a DEC 5000 \05010 mips processor\051, using ) 212.9 410 T
(the Stanford internet as a model. His graphs are based on numbers of networks, not number of ) 72 396 T
(routers. However) 72 382 T
(, if we extrapolate that the ratio of routers to networks remains the same, the ) 154.78 382 T
(time to run Dijkstra for 200 routers in Steve\325) 72 368 T
(s implementation was around 15 milliseconds.) 285.87 368 T
-0.46 (This seems a reasonable cost, particularly when you notice that the Dijkstra calculation is run very ) 72 342 P
(infrequently in operational deployments. In the three networks presented in Section 3.1, Dijkstra ) 72 328 T
-0.35 (was run on average only every 13 to 50 minutes. Since the Dijkstra is run so infrequently) 72 314 P
-0.35 (, it seems ) 493.06 314 P
-0.02 (likely that OSPF overall consumes less CPU than RIP \050because of RIP\325) 72 300 P
-0.02 (s frequent updates, requir-) 413.95 300 P
(ing routing table lookups\051.) 72 286 T
(As another example, the routing algorithm in MILNET is SPF-based. MILNET\325) 72 260 T
(s current size is ) 456.42 260 T
-0.02 (230 nodes, and the routing calculation still consumes less than 5% of the MILNET switches\325 pro-) 72 246 P
(cessor bandwidth [4]. Because the routing algorithm in the MILNET adapts to network load, it ) 72 232 T
(runs the Dijkstra process quite frequently \050on the order of seconds as compared to OSPF\325) 72 218 T
(s min-) 499.7 218 T
(utes\051. However) 72 204 T
(, it should be noted that the routing algorithm in MILNET incrementally updates ) 144.79 204 T
(the SPF-tree, while OSPF rebuilds it from scratch at each Dijkstra calculation) 72 190 T
(OSPF\325) 72 164 T
(s Area capability provides a way to reduce Dijkstra overhead, if it becomes a burden. The ) 104 164 T
-0 (routing domain can be split into areas. The extent of the Dijkstra calculation \050and its complexity\051 ) 72 150 P
(is limited to a single area at a time.) 72 136 T
FMENDPAGE
%%EndPage: "10" 11
%%Page: "11" 11
612 792 0 FMBEGINPAGE
72 702 540 720 R
7 X
0 K
V
0 F
0 X
(RFC 1245) 72 712 T
(OSPF protocol analysis) 249.36 712 T
(July 1991) 493.02 712 T
72 69.05 540 81 R
7 X
V
0 X
([Moy]) 72 73 T
([Page 11]) 493.7 73 T
72 108 540 684 R
7 X
V
3 F
0 X
(3.5 Role of Designated Router) 72 674.67 T
0 F
(This section explores the number of routers that can be attached to a single network. As the num-) 72 648 T
-0.36 (ber of routers attached to a network grows, so does the amount of OSPF routing traf) 72 634 P
-0.36 (\336c seen on the ) 469.48 634 P
(network. Some of this is Hello traf) 72 620 T
(\336c, which is generally multicast by each router every 10 sec-) 238.01 620 T
-0.07 (onds. This burden is borne by all routers attached to the network. However) 72 606 P
-0.07 (, because of its special ) 429.77 606 P
-0.08 (role in the \337ooding process, the Designated router ends up sending more Link State Updates than ) 72 592 P
(the other routers on the network. Also, the Designated Router receives Link State Acknowledg-) 72 578 T
-0.15 (ments from all attached routers, while the other routers just receive them from the DR. \050Although ) 72 564 P
(it is important to note that the rate of Link State Acknowledgments will generally be limited to ) 72 550 T
(one per second from each router) 72 536 T
(, because acknowledgments are generally delayed.\051) 226.38 536 T
-0.22 (So, if the amount of protocol traf) 72 510 P
-0.22 (\336c on the LAN becomes a limiting factor) 228.71 510 P
-0.22 (, the limit is likely to be ) 424.24 510 P
(detected in the Designated Router \336rst. However) 72 496 T
(, such a limit is not expected to be reached in ) 305.68 496 T
(practice. The amount of routing protocol traf) 72 482 T
(\336c generated by OSPF has been shown to be small ) 286.62 482 T
-0.11 (\050see Section 3.2\051. Also, if need be OSPF\325) 72 468 P
-0.11 (s hello timers can be con\336gured to reduce the amount of ) 268.43 468 P
(protocol traf) 72 454 T
(\336c on the network. Note that more than 50 routers have been simulated attached to a ) 131.4 454 T
(single LAN \050see [1]\051. Also, in interoperability testing 13 routers have been attached to a single ) 72 440 T
(ethernet with no problems encountered.) 72 426 T
-0.02 (Another factor in the number of routers attached to a single network is the cutover time when the ) 72 400 P
-0.17 (Designated Router fails. OSPF has a Backup Designated Router so that the cutover does not have ) 72 386 P
-0.31 (to wait for the new DR to synchronize \050the adjacency bring-up process mentioned earlier\051 with all ) 72 372 P
-0.43 (the other routers on the LAN; as a Backup DR it had already synchronized. However) 72 358 P
-0.43 (, in those rare ) 473.46 358 P
-0.33 (cases when both DR and Backup DR crash at the same time, the new DR will have to synchronize ) 72 344 P
(\050via the adjacency bring-up process\051 with all other routers before becoming functional. Field ) 72 330 T
-0.44 (experience show that this synchronization process takes place in a timely fashion \050see the OARnet ) 72 316 P
(report in [1]\051. However) 72 302 T
(, this may be an issue in systems that have many routers attached to a sin-) 183.42 302 T
(gle network.) 72 288 T
-0.15 (In the unlikely event that the number of routers attached to a LAN becomes a problem, either due ) 72 262 P
(to the amount of routing protocol traf) 72 248 T
(\336c or the cutover time, the LAN can be split into separate ) 251 248 T
(pieces \050similar to splitting up the AS into separate areas\051.) 72 234 T
3 F
(3.6 Summary) 72 200.67 T
0 F
(In summary) 72 174 T
(, it seems like the most likely limitation to the size of an OSPF system is available ) 128.85 174 T
-0.4 (router memory) 72 160 P
-0.4 (. W) 142.43 160 P
-0.4 (e have given as 10,000 as the number of external LSAs that can be supported by ) 158.39 160 P
(the memory available in one con\336guration of a particular implementation \050the Proteon P4200\051. ) 72 146 T
-0.09 (Other implementations may vary; nowadays routers are being built with more and more memory) 72 132 P
-0.09 (. ) 534.09 132 P
FMENDPAGE
%%EndPage: "11" 12
%%Page: "12" 12
612 792 0 FMBEGINPAGE
72 702 540 720 R
7 X
0 K
V
0 F
0 X
(RFC 1245) 72 712 T
(OSPF protocol analysis) 249.36 712 T
(July 1991) 493.02 712 T
72 69.05 540 81 R
7 X
V
0 X
([Moy]) 72 73 T
([Page 12]) 493.7 73 T
72 108 540 684 R
7 X
V
0 X
(Note that 10,000 routes is considerably lar) 72 676 T
(ger than the lar) 275.31 676 T
(gest \336eld implementation \050BARRNet; ) 347.37 676 T
(which at 1816 external LSAs is still very lar) 72 662 T
(ge\051.) 283.65 662 T
(Note that there may be ways to reduce database size in a routing domain. First, the domain can ) 72 636 T
-0.19 (make use of default routing, reducing the number of external routes that need to be imported. Sec-) 72 622 P
(ondly) 72 608 T
(, an EGP can be used that will transport its own information through the AS instead of rely-) 98.54 608 T
-0.21 (ing on the IGP \050OSPF in this case\051 to do transfer the information for it \050the EGP\051. Thirdly) 72 594 P
-0.21 (, routers ) 498.11 594 P
(having insuf) 72 580 T
(\336cient memory may be able to be assigned to stub areas \050whose databases are drasti-) 131.41 580 T
(cally smaller\051. Lastly) 72 566 T
(, if the Internet went away from a \337at address space the amount of external ) 172.82 566 T
(information imported into an OSPF domain could be reduced drastically) 72 552 T
(.) 418.67 552 T
(While not as likely) 72 526 T
(, there could be other issues that would limit the size of an OSPF routing ) 162.17 526 T
(domain. If there are slow lines \050like 9600 baud\051, the size of the database will be limited \050see Sec-) 72 512 T
(tion 3.2\051. Dijkstra may get to be expensive when there are hundreds of routers in the OSPF ) 72 498 T
(domain; although at this point the domain can be split into areas. Finally) 72 484 T
(, when there are many ) 418.69 484 T
(routers attached to a single network, there may be undue burden imposed upon the Designated ) 72 470 T
(Router; although at that point a LAN can be split into separate LANs.) 72 456 T
FMENDPAGE
%%EndPage: "12" 13
%%Page: "13" 13
612 792 0 FMBEGINPAGE
72 702 540 720 R
7 X
0 K
V
0 F
0 X
(RFC 1245) 72 712 T
(OSPF protocol analysis) 249.36 712 T
(July 1991) 493.02 712 T
72 69.05 540 81 R
7 X
V
0 X
([Moy]) 72 73 T
([Page 13]) 493.7 73 T
72 108 540 684 R
7 X
V
2 F
0 X
(4.0 Suitable envir) 72 673.33 T
(onments) 195.21 673.33 T
0 F
-0.14 (Suitable environments for the OSPF protocol range from lar) 72 646 P
-0.14 (ge to small. OSPF is particular suited ) 359.11 646 P
(for transit Autonomous Systems for the following reasons. OSPF can accommodate a lar) 72 632 T
(ge num-) 497.84 632 T
(ber of external routes. In OSPF the import of external information is very \337exible, having provi-) 72 618 T
-0.39 (sions for a forwarding address, two levels of external metrics, and the ability to tag external routes ) 72 604 P
-0.29 (with their AS number for easy management. Also OSPF\325) 72 590 P
-0.29 (s ability to do partial updates when exter-) 343.17 590 P
(nal information changes is very useful on these networks.) 72 576 T
(OSPF is also suited for smaller) 72 550 T
(, either stand alone or stub Autonomous Systems, because of its ) 220.44 550 T
(wide array of features: fast conver) 72 536 T
(gence, equal-cost-multipath, T) 235.96 536 T
(OS routing, areas, etc.) 382.3 536 T
2 F
(5.0 Unsuitable envir) 72 469.33 T
(onments) 212.98 469.33 T
0 F
-0.22 (OSPF has a very limited ability to express policy) 72 442 P
-0.22 (. Basically) 304.62 442 P
-0.22 (, its only policy mechanisms are in the ) 354.25 442 P
(establishment of a four level routing hierarchy: intra-area, inter) 72 428 T
(-area, type 1 and type 2 external ) 374.52 428 T
(routes. A system wanting more sophisticated policies would have to be split up into separate ) 72 414 T
(ASes, running a policy-based EGP between them.) 72 400 T
FMENDPAGE
%%EndPage: "13" 14
%%Page: "14" 14
612 792 0 FMBEGINPAGE
72 702 540 720 R
7 X
0 K
V
0 F
0 X
(RFC 1245) 72 712 T
(OSPF protocol analysis) 249.36 712 T
(July 1991) 493.02 712 T
72 69.05 540 81 R
7 X
V
0 X
([Moy]) 72 73 T
([Page 14]) 493.7 73 T
72 108 540 684 R
7 X
V
2 F
0 X
(6.0 Refer) 72 673.33 T
(ence Documents) 137.87 673.33 T
0 F
(The following documents have been referenced by this report:) 72 646 T
([1]) 72 626 T
(Moy) 108 626 T
(, J., \322Experience with the OSPF protocol\323, RFC 1246, July 1991.) 129.88 626 T
([2]) 72 608 T
(Moy) 108 608 T
(, J., \322OSPF V) 129.88 608 T
(ersion 2\323, RFC 1247, July 1991.) 193.85 608 T
([3]) 72 590 T
(Corporation for National Research Initiatives, \322Proceedings of the Eighteenth Internet ) 108 590 T
(Engineering T) 108 576 T
(ask Force\323, University of British Columbia, July 30-August 3, 1990.) 176.11 576 T
FMENDPAGE
%%EndPage: "14" 15
%%Page: "15" 15
612 792 0 FMBEGINPAGE
72 702 540 720 R
7 X
0 K
V
0 F
0 X
(RFC 1245) 72 712 T
(OSPF protocol analysis) 249.36 712 T
(July 1991) 493.02 712 T
72 69.05 540 81 R
7 X
V
0 X
([Moy]) 72 73 T
([Page 15]) 493.7 73 T
72 108 540 684 R
7 X
V
2 F
0 X
(Security Considerations) 72 673.33 T
0 F
(Security issues are not discussed in this memo.) 72 646 T
2 F
(Author) 72 617.33 T
(\325) 122.04 617.33 T
(s Addr) 126.77 617.33 T
(ess) 173.13 617.33 T
0 F
(John Moy) 72 590 T
(Proteon Inc.) 72 576 T
(2 T) 72 562 T
(echnology Drive) 87.48 562 T
(W) 72 548 T
(estborough, MA 01581) 82.36 548 T
(Phone: \050508\051 898-2800) 72 522 T
(Email: jmoy@proteon.com) 72 508 T
FMENDPAGE
%%EndPage: "15" 16
%%Trailer
%%BoundingBox: 0 0 612 792
%%Pages: 15 1
%%DocumentFonts: Times-Roman
%%+ Times-Bold